package com.example.commons.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;


/**
 * 
 * <pre>
 * 订单记录表
 * </pre>
 * <small> 2021-04-08 09:00:12 | lance</small>
 */
@Data
@SuppressWarnings("serial")
@TableName("jz_book_order")
//这是的这里继承的基础服务类，有几个基本字段
public class BookOrderDO implements Serializable {
	@TableId
	private Long id;

    /** 下单时间 */
    @TableField("order_createtime")
    private Date orderCreatetime;

    /** 仓库名称 */
    @TableField("warehouse")
    private String warehouse;

    /** 行政审核字段0未审核  1审核通过   2审核拒绝（并且说明理由）3仓库管理人员审核通过  4仓库管理人员审核拒绝 */
    @TableField("state")
    private Integer state;

    /** 订单数量 */
    @TableField("order_number")
    private Integer orderNumber;

    /** 年份 */
    @TableField("year")
    private Integer year;

    /** 审核拒绝的备注 */
    @TableField("remarks")
    private String remarks;

    /** 关联bookID */
    @TableField("book_id_name")
    private String bookId;

    /** 仓库管理人员审核备注 */
    @TableField("admin_remarks")
    private String adminRemarks;

    /** 所属省份 */
    @TableField("province")
    private String province;

    /** 所属市 */
    @TableField("city")
    private String city;

    /** 所属县 */
    @TableField("county")
    private String county;

    /** 详细地址 */
    @TableField("address")
    private String address;

    /** 创建订单人员 */
    @TableField("creare_user")
    private Long creareUser;

    /** 订单审核人员 */
    @TableField("order_user")
    private Long orderUser;

    /** 发货审核人员 */
    @TableField("goods_user")
    private Long goodsUser;

    /** 折扣 */
    @TableField("discount")
    private BigDecimal discount;

    /** 订单价格 */
    @TableField("order_money")
    private BigDecimal orderMoney;

    /** 收件人 */
    @TableField("addressee")
    private String addressee;

    /** 收件人电话 */
    @TableField("mobile")
    private String mobile;

    /** 所属学校 */
    @TableField("school")
    private String school;
    //订单收款状态
    /**   2 未开票  3以开票 */
    @TableField("state_money")
    private Integer stateMoney;

    /**  0   未审核    1 未收款  2已收款   */
    @TableField("state_collection")
    private Integer stateCollection;

    /** 实际收款金额 */
    @TableField("actual_money")
    private BigDecimal actualMoney;

    /** 开票名称 */
    @TableField("billing_name")
    private String billingName;

    /** 纳税识别号 */
    @TableField("billing_number")
    private String billingNumber;

    /** 开票地址 */
    @TableField("billing_address")
    private String billingAddress;

    /** 开户行账户 */
    @TableField("billing_account_number")
    private String billingAccountNumber;

    /** 开户行邮箱 */
    @TableField("billing_mailbox")
    private String billingMailbox;

    /** 订单初级数量 */
    @TableField("order_primary")
    private Integer orderPrimary;

    /** 订单中级数量 */
    @TableField("order_intermediate")
    private Integer orderIntermediate;

    /** 订单高级数量 */
    @TableField("order_senior")
    private Integer orderSenior;

    /** 发票审核备注 */
    @TableField("state_money_mark")
    private String stateMoneyMark;

    /** 发票类型  电子发票  跟纸质发票 */
    @TableField("invoice_type")
    private String invoiceType;

    /** 是否包邮0 包邮 1不包邮 */
    @TableField("post")
    private Integer post;

    /** 发票地址 */
    @TableField("invoice_address")
    private String invoiceAddress;

    /** 订单编号 */
    @TableField("order_code")
    private String orderCode;

    /** 退款金额 */
    @TableField("refund_money")
    private BigDecimal refundMoney;

    /** 退款状态 0 未退款 1 已退款 */
    @TableField("refund_state")
    private Integer refundState;

    /** 初级折扣 */
    @TableField("discount_primary")
    private BigDecimal discountPrimary;

    /** 中级折扣 */
    @TableField("discount_intermediate")
    private BigDecimal discountIntermediate;

    /** 高级折扣 */
    @TableField("discount_senior")
    private BigDecimal discountSenior;

    /** exl文档 */
    @TableField("exl_url")
    private String exlUrl;

    /** 预收款 */
    @TableField("advance_payment")
    private BigDecimal advancePayment;

    /** 订单类型0 书籍订单（会产生订单金额  1 申请的特殊订单  不会产生金额） */
    @TableField("order_type")
    private Integer orderType;

    /** 初级折扣价 */
    @TableField("primary_discount_payment")
    private BigDecimal primaryDiscountPayment;

    /** 中级折扣价 */
    @TableField("intermediate_payment")
    private BigDecimal intermediatePayment;

    /** 高级折扣价 */
    @TableField("senior_payment")
    private BigDecimal seniorPayment;

    /** 基础知识折扣价 */
    @TableField("basics_payment")
    private BigDecimal basicsPayment;

    /** 快递名称 */
    @TableField("express_name")
    private String expressName;

    /** 下单时间 */
    @TableField(exist = false)
    private String orderCreatetimeS;

    /** 部门 */
    private String department;

    /** 0学校  1公司 2个人订单 */
    @TableField("order_types")
    private Integer orderTypes;


    /**临时字段 */
    @TableField(exist = false)
    private String school1;

    //订单退货状态
    @TableField("return_order_state")
    private int returnOrederState;


    /** 基础退回数量 */
    @TableField("return_number")
    private int returnNumber;

    /** 初级退回数量 */
    @TableField("return_primary")
    private int returnPrimary;

    /** 中级退回数量 */
    @TableField("return_intermediate")
    private int returnIntermediate;

    /** 高级退回数量 */
    @TableField("return_senior")
    private int returnSenior;


    //抵费学校多个
    @TableField(exist = false)
    private List<String> examFeeIfs;


    //抵费学校
    @TableField("exam_feeIf")
    private String examFeeIf;

}
